package com.newsee.remote.common.database.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author liangzhichen
 * @since 2019-11-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("SH_Assets")
public class ShAssets extends Model<ShAssets> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "ID", type = IdType.AUTO)
    private Long id;

    @TableField("StoreHouseBillID")
    private Long StoreHouseBillID;

    @TableField("BillDetailID")
    private Long BillDetailID;

    @TableField("StoreHouseID")
    private Long StoreHouseID;

    @TableField("MaterialID")
    private Long MaterialID;

    @TableField("AssetsCode")
    private String AssetsCode;

    @TableField("AssetsClass")
    private String AssetsClass;

    @TableField("AssetsType")
    private String AssetsType;

    @TableField("AssetsName")
    private String AssetsName;

    @TableField("Brand")
    private String Brand;

    @TableField("SpeType")
    private String SpeType;

    @TableField("Remark")
    private String Remark;

    @TableField("DepartmentID")
    private String DepartmentID;

    @TableField("OrgnizationID")
    private String OrgnizationID;

    @TableField("StorageUserID")
    private Long StorageUserID;

    @TableField("AccountDate")
    private LocalDateTime AccountDate;

    @TableField("OriginalWorth")
    private Double OriginalWorth;

    @TableField("PredictUseTime")
    private Double PredictUseTime;

    @TableField("ResidualRate")
    private Double ResidualRate;

    @TableField("ResidualValue")
    private Double ResidualValue;

    @TableField("SPAAssetsCode")
    private String SPAAssetsCode;

    @TableField("BuyBillID")
    private Long BuyBillID;

    @TableField("BuyBillNo")
    private String BuyBillNo;

    @TableField("MaterialSource")
    private String MaterialSource;

    @TableField("CalculateUnit")
    private String CalculateUnit;

    @TableField("BuyDate")
    private LocalDateTime BuyDate;

    @TableField("RegisterDate")
    private LocalDateTime RegisterDate;

    @TableField("StorageLocation")
    private String StorageLocation;

    @TableField("BuyUserID")
    private Long BuyUserID;

    @TableField("BuyReason")
    private String BuyReason;

    @TableField("SupplierID")
    private Long SupplierID;

    @TableField("SupplierContact")
    private String SupplierContact;

    @TableField("ContactPhone")
    private String ContactPhone;

    @TableField("BuyPrice")
    private Double BuyPrice;

    @TableField("InOpDate")
    private LocalDateTime InOpDate;

    @TableField("WarrantyDate")
    private LocalDateTime WarrantyDate;

    @TableField("AssetsStatus")
    private Integer AssetsStatus;

    @TableField("IsDeleted")
    private Integer IsDeleted;

    @TableField("CreateUserID")
    private Long CreateUserID;

    @TableField("CreateDate")
    private LocalDateTime CreateDate;

    @TableField("UpdateUserID")
    private Long UpdateUserID;

    @TableField("UpdateDate")
    private LocalDateTime UpdateDate;

    @TableField("FormerAssetsCode")
    private String FormerAssetsCode;

    @TableField("StorageDepartmentID")
    private String StorageDepartmentID;

    @TableField("UseUserID")
    private Long UseUserID;

    @TableField("UseDepartmentID")
    private String UseDepartmentID;

    @TableField("DepreciationTime")
    private Double DepreciationTime;

    @TableField("UseLocation")
    private String UseLocation;

    @TableField("NetValue")
    private Double NetValue;

    @TableField("ScrapValue")
    private Double ScrapValue;

    @TableField("ProductionDate")
    private LocalDateTime ProductionDate;

    @TableField("CostCode")
    private String CostCode;

    @TableField("CostName")
    private String CostName;

    @TableField("FileIDs")
    private String FileIDs;

    @TableField("StartUserID")
    private String StartUserID;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
